class Person:

    #这些都是实列方法，直接使用p1,p2这种的调用的
    def __init__(self, mingzi, nianji, xingbei):
        self.name = mingzi
        self.age = nianji
        self.gender = xingbei

    def speak(self, msg):
        print(f"{self.name} {self.age} {self.gender},{msg}")





p1 = Person("张三", 12, '男')#创建了对象
p2 = Person("王五", 42, '女')
p1.speak("你好")#对象去调用方法，同时也吧自己的数据带着可以用
print(p1.__dict__)


#首先对象调用speak（）时，先去实列自己身上找，也就是对象自己。没有继续找类里面有没有

#验证

def speaak1():
    print("我是假的")
p1.speaak=speaak1()#我要在p1上面追加一个speak方法，值是speak1（）
#就像是已经创建的实列对象，追加一条属性一样。
p1.address="北京"#追加一条属性。
